/**
 * <p>Title: MaterialPackageDao</p>
 * <p>Description: MaterialPackageManager接口的dao层</p>
 * <p>Copyright: Shanghai Batchsight Pharmaceutical Technologies, Inc. Copyright(c) 2016</p>
 * @author qianpengji
 * @version 1.0
 * <pre>Histroy:
 *       2016-11-22  qianpengji  Create
 *</pre>
*/
package cn.jhg.account.persist;

import java.util.List;

import cn.jhg.account.entity.MaterialPackage;

public interface MaterialPackageDao {
	
	/**
	 * 新增物料件
	 * @param package	物料件实体
	 * @return			新增物料件的id
	 */
	public int addPackage(MaterialPackage materialPackage); 
	
	/**
	 * 更新物料件
	 * @param package	物料件实体
	 * @return			更新数量
	 */
	public int updatePackage(MaterialPackage materialPackage);
	
	/**
	 * 删除物料件
	 * @param id	物料件id
	 * @return		删除数量
	 */
	public int deletePackage(int id);
	
	/**
	 * 根据id查询物料件
	 * @param id	物料件id
	 * @return		物料件实体
	 */
	public MaterialPackage queryPackageById(int id);
	
	/**
	 * 根据标签id查询物料件
	 * @param labId	标签id
	 * @return		物料件实体
	 */
	public MaterialPackage queryPackageByLabel(int labId);
	
	/**
	 * 按条件查找物料件
	 * @param batId			批次id（等于0表示所有）
	 * @param seq			顺序号（等于空表示所有）
	 * @param locStoId		存储位置id（等于0表示所有）
	 * @param locTranId		转移位置id（等于0表示所有）
	 * @param statId		状态id（等于0表示所有）
	 * @return				物料件id
	 */
	public List<Integer> findPackage(MaterialPackage materialPackage);
	
	/**
	 * 按条件查找物料件
	 * @param batId			批次id（等于0表示所有）
	 * @param seq			顺序号（等于空表示所有）
	 * @param locStoId		存储位置id（等于0表示所有）
	 * @param locTranId		转移位置id（等于0表示所有）
	 * @param statId		状态id（等于0表示所有）
	 * @return				物料件实体
	 */
	public List<MaterialPackage> findPackageDetail(MaterialPackage materialPackage);
	
	
	
	

}
